package com.ray.mapper;

import com.ray.bean.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Mapper
@Component
public interface MaterialTypeCheckTypeMapper {
    /**
     * 获取公司检验类型
     * @param map
     * @return
     */
    List<CheckType> getCheckType(Map map);



    /**
     * 删除检验类型
     * @param map
     * @return
     */
    int deleteCheckType(Map map);

    /**
     * 添加检验类型
     * @param map
     * @return
     */
    int addCheckType(Map map);

    /**
     * 获取物料检验类型
     */
    List<MaterialTypeCheckType> getMaterialCheckType(Map map);

    /**
     * 删除物料检验类型
     * @param map
     * @return
     */
    int deleteMaterialCheckType(Map map);

    /**
     * 添加物料检验类型
     * @param map
     * @return
     */
    int addMaterialCheckType(Map map);

    /**
     * 查找需要检验的物料
     * @param map
     * @return
     */
    List<CompanyMaterialTableBean> getNeedQcMaterial(Map map);

    /**
     * 保存物料qc结果主信息
     * @param map
     * @return
     */
    int insertQcResultMain(Map map);

    /**
     * 保存物料qc结果明细信息
     * @param map
     * @return
     */
    int insertQcResultDetail(Map map);

    /**
     * 根据id获取qc结果
     * @param map
     * @return
     */
    QCResultMain getQcResultById(Map map);

    /**
     * 审核qc结果
     * @param map
     * @return
     */
    int approvalQcResult(Map map);

    /**
     * 根据检验编号获取检验详情ss
     * @param map
     * @return
     */
    List<QCResultBean> getDetailByCheckReportNo(Map map);

    int getNeedQcMaterialCount(Map map);

    /**
     *修改检验类型
     * @param map
     * @return
     */
    int updateCheckType(Map map);

    PurchaseOrderBean getPurchaseOrder(@Param("purhaseId") String purhaseId);

    void updatePurchase(PurchaseOrderBean purchaseOrderBean);

    List<QCResultMain> getQcResult(Map map);

    int getQcResultCount(Map map);
}
